Dynamic Tool UI
@Serializable
Runtime-typed tool invocation — same lifecycle shape as ToolUI but for tools whose schema isn't known at compile time (the common case in subagents, where the parent agent's static ToolPartHandlerRegistry can't dispatch). Renderers branch on is DynamicToolUI and fall back to a generic "Calling toolName…" card with JSON-printed input / output. Per historical parity gap #9.